﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using eGrocery.BaseDAL;

using System.Data;

namespace eGrocery.ProductDAL
{
   public class SubCategoryDA
    {
        //public override SubCategory SaveObject(string userName, SubCategory tObject)
        //{
        //    try
        //    {
        //        GetNewDBHelper();
        //        dbHelper.AddParameter("@SubCategory_ID", tObject.SubCategoryID);
        //        dbHelper.AddParameter("@SubCategory_Name", tObject.SubCategoryName);
        //        //dbHelper.AddParameter("@SubCategory_Name", tObject.SubCategoryName);
        //        dbHelper.AddParameter("@Category", tObject.Category.CategoryID);
        //        dbHelper.AddParameter("@CreationDate", tObject.CreationDate);
        //        dbHelper.AddParameter("@CreatedBy", tObject.CreatedBy);
        //        dbHelper.AddParameter("@ModificationDate", tObject.ModificationDate);
        //        dbHelper.AddParameter("@ModifiedBy", tObject.ModifiedBy);
        //        dbHelper.AddParameter("@IsALive", tObject.IsAlive);
        //        //dbHelper.ExecuteNonQuery("USP_INS_UPDATE_SUBCATEGORY", System.Data.CommandType.StoredProcedure, System.Data.ConnectionState.Closed);
        //        object objID = dbHelper.ExecuteScaler("USP_INS_UPDATE_SUBCATEGORY", System.Data.CommandType.StoredProcedure, System.Data.ConnectionState.Closed);

        //        if (Convert.ToInt32(objID) > 0)
        //            tObject.SubCategoryID = Convert.ToInt32(objID);

        //        LogActivity(userName, string.Format("Product Saved with ID {0}", tObject.SubCategoryID), tObject);

        //        //return tObject;

        //    }

        //    catch (Exception ex)
        //    {

        //        LogException(userName, ex, tObject);
        //        tObject = null;
        //        throw new Exception("Error Occured while Saving Product");
               
        //     }            
        //    return tObject;
            
        //}

        //public override bool DeleteObject(string userName, SubCategory tObject)
        //{
        //    try
        //    {
        //        GetNewDBHelper();
        //        dbHelper.AddParameter("@SubCategoryId", tObject.SubCategoryID);
        //        dbHelper.ExecuteNonQuery("USP_DELETE_SUBCATEGORY", System.Data.CommandType.StoredProcedure, System.Data.ConnectionState.Closed);
        //        // throw new NotImplementedException();
        //        return tObject.IsLive;

        //    }
        //    catch
        //    {
        //        return tObject.IsLive;
        //    }   

        //   // throw new NotImplementedException();
        //}

        //public override List<SubCategory> GetObjectList(string userName, DateTime fromDate, DateTime toDate)
        //{
        //    throw new NotImplementedException();
        //}

        //public override List<SubCategory> SearchObject(string userName, string SearchText)
        //{
        //    try
        //    {
        //        dbHelper.AddParameter("@SearchText", string.IsNullOrWhiteSpace(SearchText) ? string.Empty : SearchText);
        //        var reader = dbHelper.ExecuteReader("USP_SEARCH_CATEGORY", System.Data.CommandType.StoredProcedure, System.Data.ConnectionState.Closed);
        //        var list = new List<ProductEntity.SubCategory>();
        //        while (reader.Read())
        //        {
        //            list.Add(GetSubCategoryObject(reader, true));
        //        }
        //        LogActivity(userName, string.Format("Searched Category with text {0}", SearchText), null);
        //        return list;
        //    }
        //    catch (Exception ex)
        //    {
        //        LogException(userName, ex, null);
        //        throw new Exception("Error while searching Category");
        //    }
        //    //throw new NotImplementedException();
        //}
        //public static ProductEntity.SubCategory GetSubCategoryObject(IDataReader reader, bool IsFull)
        //{
        //    int i = -1;
        //    ProductEntity.SubCategory obj = new ProductEntity.SubCategory();
        //    if (!reader.IsDBNull(++i))
        //        obj.SubCategoryID = reader.GetInt32(i);
        //    if (!reader.IsDBNull(++i))
        //        obj.SubCategoryName = reader.GetString(i);

        //    if (IsFull)
        //    {
        //        if (!reader.IsDBNull(i) && !reader.IsDBNull(i + 1))
        //            obj.Category = new Category { CategoryID = reader.GetInt32(i), CategoryName = reader.GetString(++i) };
        //        if (!reader.IsDBNull(++i))
        //            obj.IsAlive = reader.GetBoolean(i);
        //    }
        //    return obj;
        //}
    }
}
